pkg_ver = lambda pkg: "{:<20}{:}".format(pkg.__name__,pkg.__version__)
# ROOT
import uproot
print(pkg_ver(uproot))
import ROOT
# Machine Learning
import sklearn
print(pkg_ver(sklearn))
import torch
print(pkg_ver(torch))
# Data science
import scipy
print(pkg_ver(scipy))
import numpy
print(pkg_ver(numpy))
import pandas
print(pkg_ver(pandas))
# Visualizations
import matplotlib
print(pkg_ver(matplotlib))
import matplotlib.pyplot as plt
import tqdm
print(pkg_ver(tqdm))
uproot 4.3.5 Welcome to JupyROOT 6.26/10 sklearn 1.2.2 torch 2.0.0rc5 scipy 1.10.1 numpy 1.24.2 pandas 1.5.3 matplotlib 3.6.3 tqdm 4.62.3
%jsroot
class spectrum:
def __init__(self, TH1D_, iTED_, Crystal_, Configuration_, Window_, Calibration_):
self.__TH1D = TH1D_
self.__iTED = iTED_
self.__Crystal = Crystal_
self.__Configuration = Configuration_
self.__Window = Window_
self.__Calibration = Calibration_
def __call__(self, ch):
return numpy.polyval(self.__Calibration[::-1],ch)
def __ch__(self, en):
p = numpy.poly1d(self.__Calibration[::-1])
temp = set(i for i in (p - en).roots if i > 0)
return list(temp).pop()
def TH1D(self):
return self.__TH1D
def Calibration(self):
return self.__Calibration
def iTED(self):
return self.__iTED
def Crystal(self):
return self.__Crystal
def Configuration(self):
return self.__Configuration
def Window(self):
return self.__Window
def Noise(self, Time_):
return self.__TH1D.Integral(
0,
self.__TH1D.FindBin(self.__ch__(200))
)/Time_
def Alpha(self, Time_):
return self.__TH1D.Integral(
self.__TH1D.FindBin(self.__ch__(1600)),
self.__TH1D.FindBin(self.__ch__(2800))
)/Time_
def __repr__(self):
return "iTED: {},Crystal: {},Configuration: {},Window: {}".format(
self.__iTED,
self.__Crystal,
self.__Configuration,
self.__Window
)
def __str__(self):
return "{}.{}.{}.{}".format(
self.__iTED,
self.__Crystal,
self.__Configuration,
self.__Window
)
iTEDA_cal = pandas.read_csv(
"../../data/2023-03-02/Energy_Calibrations_02_03_2023/Energy_Calibrations_iTEDA.dat",
delim_whitespace=True,
names=["P0","P1","P2"]
)
iTEDB_cal = pandas.read_csv(
"../../data/2023-03-02/Energy_Calibrations_02_03_2023/Energy_Calibrations_iTEDB.dat",
delim_whitespace=True,
names=["P0","P1","P2"]
)
iTEDC_cal = pandas.read_csv(
"../../data/2023-03-02/Energy_Calibrations_02_03_2023/Energy_Calibrations_iTEDC.dat",
delim_whitespace=True,
names=["P0","P1","P2"]
)
iTEDD_cal = pandas.read_csv(
"../../data/2023-03-02/Energy_Calibrations_02_03_2023/Energy_Calibrations_iTEDD.dat",
delim_whitespace=True,
names=["P0","P1","P2"]
)
iTED_cal = pandas.concat([iTEDA_cal.T, iTEDB_cal.T, iTEDC_cal.T, iTEDD_cal.T], axis=1, keys=['A', 'B', 'C', 'D'])
iTED_cal
| A | B | C | D | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 | |
| P0 | 97.91440 | 138.744000 | 164.131000 | 96.575700 | 184.627000 | 123.545000 | 181.753000 | 164.939000 | 162.539000 | 156.664000 | 115.328000 | 147.053000 | 129.204000 | 144.779000 | 132.346000 | 91.325100 | 138.429000 | 121.824000 | 138.067000 | 122.738000 |
| P1 | 1.96942 | 1.813160 | 2.304510 | 1.764130 | 2.327000 | 2.228220 | 2.581200 | 2.116580 | 2.010630 | 2.193700 | 2.179250 | 2.005310 | 2.079170 | 2.152760 | 2.311890 | 2.016440 | 2.065850 | 2.071090 | 2.132460 | 1.964320 |
| P2 | 0.00042 | 0.000665 | 0.001125 | 0.000595 | 0.001193 | 0.000559 | 0.001048 | 0.001154 | 0.000915 | 0.000946 | 0.000469 | 0.000859 | 0.000717 | 0.000836 | 0.000898 | 0.000479 | 0.000809 | 0.000667 | 0.000949 | 0.000705 |
config = ["888", "887", "88c"]
CW = [100,150,200,250]
ited = ["A","B","C","D"]
crystal = [0,1,2,3,4]
midx = pandas.MultiIndex.from_product(
[config, CW],
names=['Configuration', 'Window']
)
mcol = pandas.MultiIndex.from_product(
[ited, crystal],
names=['iTED', 'Crystal']
)
spectra = pandas.DataFrame(index = midx, columns = mcol)
# Access using spectra[iTED,Crystal][Configuration,Window]
iTEDA = {
"888-100": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDA-A2_D.2023_02_23_T.13_40_46_C.itedABCD_lab_2023.02.22_4.0v_888_300s_CW100.root","READ"),
"888-150": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDA-A2_D.2023_02_23_T.13_40_46_C.itedABCD_lab_2023.02.22_4.0v_888_300s_CW150.root","READ"),
"888-200": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDA-A2_D.2023_02_23_T.13_40_46_C.itedABCD_lab_2023.02.22_4.0v_888_300s_CW200.root","READ"),
"888-250": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDA-A2_D.2023_02_23_T.13_40_46_C.itedABCD_lab_2023.02.22_4.0v_888_300s_CW250.root","READ"),
"88c-100": ROOT.TFile.Open("../../data/Multi_iTED_characterization/CS137-iTEDA-A2_D.2023_03_14_T.14_28_07_C.itedABCD_lab_custom_2023.02.22_4.0v_887_300s_CW100.root","READ"),
"88c-150": ROOT.TFile.Open("../../data/Multi_iTED_characterization/CS137-iTEDA-A2_D.2023_03_14_T.14_28_07_C.itedABCD_lab_custom_2023.02.22_4.0v_887_300s_CW150.root","READ"),
"88c-200": ROOT.TFile.Open("../../data/Multi_iTED_characterization/CS137-iTEDA-A2_D.2023_03_14_T.14_28_07_C.itedABCD_lab_custom_2023.02.22_4.0v_887_300s_CW200.root","READ"),
"88c-250": ROOT.TFile.Open("../../data/Multi_iTED_characterization/CS137-iTEDA-A2_D.2023_03_14_T.14_28_07_C.itedABCD_lab_custom_2023.02.22_4.0v_887_300s_CW250.root","READ"),
"887-100": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDA-A2_D.2023_03_21_T.14_50_48_C.itedABCD_lab_2023.02.22_4.0v_887_300s_CW100.root","READ"),
"887-150": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDA-A2_D.2023_03_21_T.14_50_48_C.itedABCD_lab_2023.02.22_4.0v_887_300s_CW150.root","READ"),
"887-200": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDA-A2_D.2023_03_21_T.14_50_48_C.itedABCD_lab_2023.02.22_4.0v_887_300s_CW200.root","READ"),
"887-250": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDA-A2_D.2023_03_21_T.14_50_48_C.itedABCD_lab_2023.02.22_4.0v_887_300s_CW250.root","READ")
}
iTEDB = {
"888-100": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137_AfterReconnecting_gum_iTEDB-middle_D.2023_03_02_T.15_22_31_C.itedABCD_lab_2023.02.22_4.0v_888_300s_CW100.root","READ"),
"888-150": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137_AfterReconnecting_gum_iTEDB-middle_D.2023_03_02_T.15_22_31_C.itedABCD_lab_2023.02.22_4.0v_888_300s_CW150.root","READ"),
"888-200": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137_AfterReconnecting_gum_iTEDB-middle_D.2023_03_02_T.15_22_31_C.itedABCD_lab_2023.02.22_4.0v_888_300s_CW200.root","READ"),
"888-250": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137_AfterReconnecting_gum_iTEDB-middle_D.2023_03_02_T.15_22_31_C.itedABCD_lab_2023.02.22_4.0v_888_300s_CW250.root","READ"),
"88c-100": ROOT.TFile.Open("../../data/Multi_iTED_characterization/CS137-iTEDB-A2_D.2023_03_14_T.14_35_17_C.itedABCD_lab_custom_2023.02.22_4.0v_887_300s_CW100.root","READ"),
"88c-150": ROOT.TFile.Open("../../data/Multi_iTED_characterization/CS137-iTEDB-A2_D.2023_03_14_T.14_35_17_C.itedABCD_lab_custom_2023.02.22_4.0v_887_300s_CW150.root","READ"),
"88c-200": ROOT.TFile.Open("../../data/Multi_iTED_characterization/CS137-iTEDB-A2_D.2023_03_14_T.14_35_17_C.itedABCD_lab_custom_2023.02.22_4.0v_887_300s_CW200.root","READ"),
"88c-250": ROOT.TFile.Open("../../data/Multi_iTED_characterization/CS137-iTEDB-A2_D.2023_03_14_T.14_35_17_C.itedABCD_lab_custom_2023.02.22_4.0v_887_300s_CW250.root","READ"),
"887-100": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDB-A2_D.2023_03_21_T.14_57_39_C.itedABCD_lab_2023.02.22_4.0v_887_300s_CW100.root","READ"),
"887-150": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDB-A2_D.2023_03_21_T.14_57_39_C.itedABCD_lab_2023.02.22_4.0v_887_300s_CW150.root","READ"),
"887-200": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDB-A2_D.2023_03_21_T.14_57_39_C.itedABCD_lab_2023.02.22_4.0v_887_300s_CW200.root","READ"),
"887-250": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDB-A2_D.2023_03_21_T.14_57_39_C.itedABCD_lab_2023.02.22_4.0v_887_300s_CW250.root","READ")
}
iTEDC = {
"888-100": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDC-A1_D.2023_02_23_T.13_26_03_C.itedABCD_lab_2023.02.22_4.0v_888_300s_CW100.root","READ"),
"888-150": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDC-A1_D.2023_02_23_T.13_26_03_C.itedABCD_lab_2023.02.22_4.0v_888_300s_CW150.root","READ"),
"888-200": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDC-A1_D.2023_02_23_T.13_26_03_C.itedABCD_lab_2023.02.22_4.0v_888_300s_CW200.root","READ"),
"888-250": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDC-A1_D.2023_02_23_T.13_26_03_C.itedABCD_lab_2023.02.22_4.0v_888_300s_CW250.root","READ"),
"88c-100": ROOT.TFile.Open("../../data/Multi_iTED_characterization/CS137-iTEDC-A1_D.2023_03_14_T.14_41_53_C.itedABCD_lab_custom_2023.02.22_4.0v_887_300s_CW100.root","READ"),
"88c-150": ROOT.TFile.Open("../../data/Multi_iTED_characterization/CS137-iTEDC-A1_D.2023_03_14_T.14_41_53_C.itedABCD_lab_custom_2023.02.22_4.0v_887_300s_CW150.root","READ"),
"88c-200": ROOT.TFile.Open("../../data/Multi_iTED_characterization/CS137-iTEDC-A1_D.2023_03_14_T.14_41_53_C.itedABCD_lab_custom_2023.02.22_4.0v_887_300s_CW200.root","READ"),
"88c-250": ROOT.TFile.Open("../../data/Multi_iTED_characterization/CS137-iTEDC-A1_D.2023_03_14_T.14_41_53_C.itedABCD_lab_custom_2023.02.22_4.0v_887_300s_CW250.root","READ"),
"887-100": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDC-A1_D.2023_03_21_T.15_05_52_C.itedABCD_lab_2023.02.22_4.0v_887_300s_CW100.root","READ"),
"887-150": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDC-A1_D.2023_03_21_T.15_05_52_C.itedABCD_lab_2023.02.22_4.0v_887_300s_CW150.root","READ"),
"887-200": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDC-A1_D.2023_03_21_T.15_05_52_C.itedABCD_lab_2023.02.22_4.0v_887_300s_CW200.root","READ"),
"887-250": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDC-A1_D.2023_03_21_T.15_05_52_C.itedABCD_lab_2023.02.22_4.0v_887_300s_CW250.root","READ")
}
iTEDD = {
"888-100": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDD-A1_D.2023_02_23_T.13_03_18_C.itedABCD_lab_2023.02.22_4.0v_888_300s_CW100.root","READ"),
"888-150": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDD-A1_D.2023_02_23_T.13_03_18_C.itedABCD_lab_2023.02.22_4.0v_888_300s_CW150.root","READ"),
"888-200": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDD-A1_D.2023_02_23_T.13_03_18_C.itedABCD_lab_2023.02.22_4.0v_888_300s_CW200.root","READ"),
"888-250": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDD-A1_D.2023_02_23_T.13_03_18_C.itedABCD_lab_2023.02.22_4.0v_888_300s_CW250.root","READ"),
"88c-100": ROOT.TFile.Open("../../data/Multi_iTED_characterization/CS137-iTEDD-A1_D.2023_03_14_T.14_48_58_C.itedABCD_lab_custom_2023.02.22_4.0v_887_300s_CW100.root","READ"),
"88c-150": ROOT.TFile.Open("../../data/Multi_iTED_characterization/CS137-iTEDD-A1_D.2023_03_14_T.14_48_58_C.itedABCD_lab_custom_2023.02.22_4.0v_887_300s_CW150.root","READ"),
"88c-200": ROOT.TFile.Open("../../data/Multi_iTED_characterization/CS137-iTEDD-A1_D.2023_03_14_T.14_48_58_C.itedABCD_lab_custom_2023.02.22_4.0v_887_300s_CW200.root","READ"),
"88c-250": ROOT.TFile.Open("../../data/Multi_iTED_characterization/CS137-iTEDD-A1_D.2023_03_14_T.14_48_58_C.itedABCD_lab_custom_2023.02.22_4.0v_887_300s_CW250.root","READ"),
"887-100": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDD-A1_D.2023_03_21_T.15_12_02_C.itedABCD_lab_2023.02.22_4.0v_887_300s_CW100.root","READ"),
"887-150": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDD-A1_D.2023_03_21_T.15_12_02_C.itedABCD_lab_2023.02.22_4.0v_887_300s_CW150.root","READ"),
"887-200": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDD-A1_D.2023_03_21_T.15_12_02_C.itedABCD_lab_2023.02.22_4.0v_887_300s_CW200.root","READ"),
"887-250": ROOT.TFile.Open("../../data/Multi_iTED_characterization/Cs137-iTEDD-A1_D.2023_03_21_T.15_12_02_C.itedABCD_lab_2023.02.22_4.0v_887_300s_CW250.root","READ")
}
for iTED in[0,1,2,3]:
for Crystal in [0,1,2,3,4]:
for Configuration in ["888", "887", "88c"]:
for CW in [100,150,200,250]:
spectra[
["A","B","C","D"][iTED], Crystal
][
Configuration, CW
] = spectrum(
[iTEDA,iTEDB,iTEDC,iTEDD][iTED][f"{Configuration}-{CW}"].Get(
"{}_{}_amplitude_spectra;1".format(
"SCATTERER" if Crystal==0 else "ABSORBER",
["A","B","C","D"][iTED] if Crystal==0 else "{}_{}".format(["A","B","C","D"][iTED],Crystal)
)
),
["A","B","C","D"][iTED],
Crystal,
Configuration,
CW,
iTED_cal[:][["A","B","C","D"][iTED],Crystal]
)
spectra.dropna(inplace=True)
spectra.applymap(str)
| iTED | A | B | C | D | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Crystal | 0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 | |
| Configuration | Window | ||||||||||||||||||||
| 888 | 100 | A.0.888.100 | A.1.888.100 | A.2.888.100 | A.3.888.100 | A.4.888.100 | B.0.888.100 | B.1.888.100 | B.2.888.100 | B.3.888.100 | B.4.888.100 | C.0.888.100 | C.1.888.100 | C.2.888.100 | C.3.888.100 | C.4.888.100 | D.0.888.100 | D.1.888.100 | D.2.888.100 | D.3.888.100 | D.4.888.100 |
| 150 | A.0.888.150 | A.1.888.150 | A.2.888.150 | A.3.888.150 | A.4.888.150 | B.0.888.150 | B.1.888.150 | B.2.888.150 | B.3.888.150 | B.4.888.150 | C.0.888.150 | C.1.888.150 | C.2.888.150 | C.3.888.150 | C.4.888.150 | D.0.888.150 | D.1.888.150 | D.2.888.150 | D.3.888.150 | D.4.888.150 | |
| 200 | A.0.888.200 | A.1.888.200 | A.2.888.200 | A.3.888.200 | A.4.888.200 | B.0.888.200 | B.1.888.200 | B.2.888.200 | B.3.888.200 | B.4.888.200 | C.0.888.200 | C.1.888.200 | C.2.888.200 | C.3.888.200 | C.4.888.200 | D.0.888.200 | D.1.888.200 | D.2.888.200 | D.3.888.200 | D.4.888.200 | |
| 250 | A.0.888.250 | A.1.888.250 | A.2.888.250 | A.3.888.250 | A.4.888.250 | B.0.888.250 | B.1.888.250 | B.2.888.250 | B.3.888.250 | B.4.888.250 | C.0.888.250 | C.1.888.250 | C.2.888.250 | C.3.888.250 | C.4.888.250 | D.0.888.250 | D.1.888.250 | D.2.888.250 | D.3.888.250 | D.4.888.250 | |
| 887 | 100 | A.0.887.100 | A.1.887.100 | A.2.887.100 | A.3.887.100 | A.4.887.100 | B.0.887.100 | B.1.887.100 | B.2.887.100 | B.3.887.100 | B.4.887.100 | C.0.887.100 | C.1.887.100 | C.2.887.100 | C.3.887.100 | C.4.887.100 | D.0.887.100 | D.1.887.100 | D.2.887.100 | D.3.887.100 | D.4.887.100 |
| 150 | A.0.887.150 | A.1.887.150 | A.2.887.150 | A.3.887.150 | A.4.887.150 | B.0.887.150 | B.1.887.150 | B.2.887.150 | B.3.887.150 | B.4.887.150 | C.0.887.150 | C.1.887.150 | C.2.887.150 | C.3.887.150 | C.4.887.150 | D.0.887.150 | D.1.887.150 | D.2.887.150 | D.3.887.150 | D.4.887.150 | |
| 200 | A.0.887.200 | A.1.887.200 | A.2.887.200 | A.3.887.200 | A.4.887.200 | B.0.887.200 | B.1.887.200 | B.2.887.200 | B.3.887.200 | B.4.887.200 | C.0.887.200 | C.1.887.200 | C.2.887.200 | C.3.887.200 | C.4.887.200 | D.0.887.200 | D.1.887.200 | D.2.887.200 | D.3.887.200 | D.4.887.200 | |
| 250 | A.0.887.250 | A.1.887.250 | A.2.887.250 | A.3.887.250 | A.4.887.250 | B.0.887.250 | B.1.887.250 | B.2.887.250 | B.3.887.250 | B.4.887.250 | C.0.887.250 | C.1.887.250 | C.2.887.250 | C.3.887.250 | C.4.887.250 | D.0.887.250 | D.1.887.250 | D.2.887.250 | D.3.887.250 | D.4.887.250 | |
| 88c | 100 | A.0.88c.100 | A.1.88c.100 | A.2.88c.100 | A.3.88c.100 | A.4.88c.100 | B.0.88c.100 | B.1.88c.100 | B.2.88c.100 | B.3.88c.100 | B.4.88c.100 | C.0.88c.100 | C.1.88c.100 | C.2.88c.100 | C.3.88c.100 | C.4.88c.100 | D.0.88c.100 | D.1.88c.100 | D.2.88c.100 | D.3.88c.100 | D.4.88c.100 |
| 150 | A.0.88c.150 | A.1.88c.150 | A.2.88c.150 | A.3.88c.150 | A.4.88c.150 | B.0.88c.150 | B.1.88c.150 | B.2.88c.150 | B.3.88c.150 | B.4.88c.150 | C.0.88c.150 | C.1.88c.150 | C.2.88c.150 | C.3.88c.150 | C.4.88c.150 | D.0.88c.150 | D.1.88c.150 | D.2.88c.150 | D.3.88c.150 | D.4.88c.150 | |
| 200 | A.0.88c.200 | A.1.88c.200 | A.2.88c.200 | A.3.88c.200 | A.4.88c.200 | B.0.88c.200 | B.1.88c.200 | B.2.88c.200 | B.3.88c.200 | B.4.88c.200 | C.0.88c.200 | C.1.88c.200 | C.2.88c.200 | C.3.88c.200 | C.4.88c.200 | D.0.88c.200 | D.1.88c.200 | D.2.88c.200 | D.3.88c.200 | D.4.88c.200 | |
| 250 | A.0.88c.250 | A.1.88c.250 | A.2.88c.250 | A.3.88c.250 | A.4.88c.250 | B.0.88c.250 | B.1.88c.250 | B.2.88c.250 | B.3.88c.250 | B.4.88c.250 | C.0.88c.250 | C.1.88c.250 | C.2.88c.250 | C.3.88c.250 | C.4.88c.250 | D.0.88c.250 | D.1.88c.250 | D.2.88c.250 | D.3.88c.250 | D.4.88c.250 | |
def get_resolution(cell):
TH1D = cell.TH1D()
TH1D.GetXaxis().SetRange(TH1D.FindBin(100),TH1D.FindBin(400))
MaxBin = TH1D.FindBin(TH1D.GetMaximumBin())
ADC_Low = MaxBin-60
ADC_High = MaxBin+40
gaussFit = ROOT.TF1("gaussFit", "pol1(0)+gaus(2)", ADC_Low, ADC_High)
gaussFit.SetParameters(1000,-1,TH1D.GetMaximum(),MaxBin,10)
TH1D.Fit(gaussFit,"QR")
sigma = abs(gaussFit.GetParameter(4))
centroid_ch = gaussFit.GetParameter(3)
x1 = cell(centroid_ch+sigma*numpy.sqrt(2*numpy.log(2)))
x2 = cell(centroid_ch-sigma*numpy.sqrt(2*numpy.log(2)))
centroid = cell(centroid_ch)
fwhm = x1-x2
return sigma*numpy.sqrt(2*numpy.log(2))*2/centroid_ch*100, (fwhm/centroid)*100, centroid
def TH1D_draw(cell):
TH1D = cell.TH1D()
canvas = ROOT.TCanvas()
canvas.cd()
TH1D.SetTitle(repr(cell))
TH1D.SetStats(False)
latex = ROOT.TLatex()
latex.SetNDC()
latex.SetTextSize(0.03)
TH1D.Draw("pe")
l1,l2,l3 = get_resolution(cell)
l4 = uproot.open(f"../../data/nTOF_March2022/888/CW100ns/Resolutions_Cs137_CenterScatter_iTED{cell.iTED()}_8.8.8_100ns.root:grResolEnergy;1").values()[1][cell.Crystal()]
latex.DrawText(0.7, 0.8, "R_ch: {:.2f}%".format(l1))
if l4*0.9 < l2 < l4*1.1:
latex.DrawText(0.7, 0.75, "R_E: {:.2f}%".format(l2))
else:
latex.DrawText(0.7, 0.75, "->R_E: {:.2f}%".format(l2))
if 662*(1-l2/100) < l3 < 662*(1+l2/100):
latex.DrawText(0.7, 0.7, "E: {:.0f}keV".format(l3))
else:
latex.DrawText(0.7, 0.7, "->E: {:.0f}keV".format(l3))
latex.DrawText(0.7, 0.65, "R_E(old): {:.2f}%".format(l4))
latex.DrawText(0.7, 0.6, "Change: {:.2f}%".format(l2-l4))
return canvas
spectra.applymap(lambda x: get_resolution(x)[0]).T.describe().drop(['count', 'std'], axis=0).style.background_gradient(cmap ='YlOrRd',axis=None)
| Configuration | 888 | 887 | 88c | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Window | 100 | 150 | 200 | 250 | 100 | 150 | 200 | 250 | 100 | 150 | 200 | 250 |
| mean | 8.384339 | 8.284824 | 8.179738 | 8.088119 | 8.404514 | 8.260254 | 8.168116 | 8.069058 | 8.205656 | 8.095049 | 7.989033 | 7.893597 |
| min | 6.572851 | 6.511189 | 6.462154 | 6.437791 | 6.389740 | 6.388251 | 6.388026 | 6.387243 | 6.525593 | 6.523872 | 6.524571 | 6.523416 |
| 25% | 7.075074 | 7.053681 | 7.008073 | 6.964889 | 7.078504 | 6.978950 | 6.931826 | 6.926262 | 7.019665 | 6.955688 | 6.916974 | 6.911327 |
| 50% | 8.225909 | 8.070114 | 7.909846 | 7.781751 | 8.163990 | 7.992299 | 7.856192 | 7.710460 | 7.935067 | 7.823580 | 7.733675 | 7.599282 |
| 75% | 9.645031 | 9.582242 | 9.465428 | 9.371003 | 9.864735 | 9.727948 | 9.630359 | 9.407380 | 9.262555 | 9.173130 | 9.039284 | 8.977927 |
| max | 11.434119 | 11.245839 | 10.762453 | 10.524706 | 11.490752 | 11.455784 | 11.441227 | 11.421454 | 10.867837 | 10.729804 | 10.612429 | 10.583095 |
Info in <TCanvas::MakeDefCanvas>: created default TCanvas with name c1
spectra.applymap(lambda x: get_resolution(x)[1]).T.describe().drop(['count', 'std'], axis=0).style.background_gradient(cmap ='YlOrRd',axis=None)
| Configuration | 888 | 887 | 88c | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Window | 100 | 150 | 200 | 250 | 100 | 150 | 200 | 250 | 100 | 150 | 200 | 250 |
| mean | 7.193958 | 7.111687 | 7.024524 | 6.947401 | 7.098719 | 6.980382 | 6.905127 | 6.822373 | 7.027980 | 6.936768 | 6.848609 | 6.768283 |
| min | 5.690363 | 5.638254 | 5.596447 | 5.575697 | 5.567239 | 5.565940 | 5.565758 | 5.565070 | 5.678580 | 5.677089 | 5.677704 | 5.676694 |
| 25% | 6.242677 | 6.203176 | 6.200747 | 6.188435 | 6.281600 | 6.245942 | 6.150291 | 6.113693 | 6.202920 | 6.187947 | 6.161628 | 6.147785 |
| 50% | 6.982063 | 6.845986 | 6.713506 | 6.655423 | 6.821029 | 6.726619 | 6.615602 | 6.502844 | 6.768357 | 6.593864 | 6.543667 | 6.496192 |
| 75% | 8.067847 | 7.972242 | 7.892667 | 7.716481 | 7.826232 | 7.692682 | 7.529721 | 7.397640 | 7.606198 | 7.504692 | 7.448275 | 7.348455 |
| max | 9.941246 | 9.793617 | 9.386924 | 9.029415 | 9.524203 | 9.044597 | 9.066551 | 8.877154 | 9.467014 | 9.299971 | 8.853431 | 8.514926 |
spectra.applymap(lambda x: get_resolution(x)[1]).style.background_gradient(cmap ='YlOrRd',axis=None)
| iTED | A | B | C | D | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Crystal | 0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 | |
| Configuration | Window | ||||||||||||||||||||
| 888 | 100 | 6.993667 | 5.690363 | 8.003727 | 6.264532 | 8.513630 | 8.685116 | 7.545204 | 7.159496 | 6.921517 | 6.970458 | 9.941246 | 7.024431 | 5.801541 | 8.581080 | 8.260210 | 6.604624 | 6.177112 | 6.154822 | 6.158417 | 6.427960 |
| 150 | 6.745153 | 5.638254 | 7.943185 | 6.214287 | 8.491202 | 8.421423 | 7.531137 | 7.111619 | 6.842958 | 6.928608 | 9.793617 | 6.849014 | 5.800469 | 8.484608 | 8.059413 | 6.501383 | 6.169841 | 6.125247 | 6.149794 | 6.432523 | |
| 200 | 6.659179 | 5.596447 | 7.917940 | 6.213641 | 8.473171 | 8.180773 | 7.442451 | 7.047676 | 6.765897 | 6.889133 | 9.386924 | 6.661115 | 5.802972 | 8.298828 | 7.884243 | 6.448186 | 6.162062 | 6.119100 | 6.145520 | 6.395222 | |
| 250 | 6.591387 | 5.575697 | 7.894197 | 6.200813 | 8.431370 | 8.083150 | 7.397516 | 6.999044 | 6.719459 | 6.856619 | 9.029415 | 6.493300 | 5.801645 | 8.054665 | 7.657242 | 6.372846 | 6.151302 | 6.100846 | 6.131791 | 6.405715 | |
| 887 | 100 | 6.716906 | 5.885172 | 7.846681 | 6.556772 | 8.926923 | 8.910126 | 7.538841 | 6.771155 | 7.097204 | 6.870904 | 9.524203 | 6.960888 | 5.567239 | 8.476957 | 7.819416 | 6.328728 | 6.363272 | 5.773790 | 6.140214 | 5.898985 |
| 150 | 6.535668 | 5.800937 | 7.777560 | 6.451929 | 8.902208 | 8.430194 | 7.412162 | 6.688939 | 7.037385 | 6.849367 | 9.044597 | 6.764300 | 5.565940 | 8.303461 | 7.664389 | 6.292431 | 6.348265 | 5.763566 | 6.106475 | 5.867876 | |
| 200 | 6.442909 | 5.771719 | 7.716941 | 6.419184 | 8.891864 | 8.231809 | 7.349736 | 6.622017 | 6.947128 | 6.741413 | 9.066551 | 6.609188 | 5.565758 | 8.082529 | 7.467314 | 6.171867 | 6.333189 | 5.742967 | 6.085562 | 5.842901 | |
| 250 | 6.400100 | 5.753039 | 7.708582 | 6.419219 | 8.877154 | 8.104824 | 7.293993 | 6.586469 | 6.829195 | 6.727379 | 8.635466 | 6.402065 | 5.565070 | 7.867197 | 7.206193 | 6.120226 | 6.323636 | 5.721918 | 6.094094 | 5.811644 | |
| 88c | 100 | 6.848400 | 6.095302 | 7.536584 | 6.269364 | 8.602156 | 8.331459 | 7.549031 | 6.688313 | 6.852857 | 6.632140 | 9.467014 | 7.046612 | 5.678580 | 8.494920 | 7.777696 | 6.421585 | 6.130319 | 5.779793 | 6.227103 | 6.130370 |
| 150 | 6.623912 | 6.037643 | 7.482337 | 6.213026 | 8.631772 | 8.207789 | 7.438936 | 6.593293 | 6.594435 | 6.587102 | 9.299971 | 6.840054 | 5.677089 | 8.397128 | 7.571756 | 6.326870 | 6.111083 | 5.770381 | 6.218071 | 6.112710 | |
| 200 | 6.583704 | 6.009039 | 7.407379 | 6.181999 | 8.537732 | 7.989468 | 7.375075 | 6.536205 | 6.551128 | 6.534113 | 8.853431 | 6.661599 | 5.677704 | 8.144216 | 7.570963 | 6.219945 | 6.100512 | 5.753311 | 6.207167 | 6.077498 | |
| 250 | 6.509696 | 5.991072 | 7.388117 | 6.165802 | 8.514926 | 7.841426 | 7.285276 | 6.488878 | 6.432151 | 6.536032 | 8.405071 | 6.503505 | 5.676694 | 7.996617 | 7.335234 | 6.191500 | 6.093731 | 5.737227 | 6.195646 | 6.077063 | |
spectra.applymap(lambda x: abs(get_resolution(x)[2]-662)/662*100).T.describe().drop(['count', 'std'], axis=0).style.background_gradient(cmap ='YlOrRd',axis=None)
| Configuration | 888 | 887 | 88c | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Window | 100 | 150 | 200 | 250 | 100 | 150 | 200 | 250 | 100 | 150 | 200 | 250 |
| mean | 2.783928 | 2.920516 | 3.030763 | 3.097189 | 1.955409 | 1.920312 | 1.916828 | 1.933787 | 2.357105 | 2.474974 | 2.551107 | 2.606813 |
| min | 0.261671 | 0.273354 | 0.137220 | 0.089146 | 0.029099 | 0.028333 | 0.134172 | 0.095745 | 0.070286 | 0.053619 | 0.043825 | 0.033794 |
| 25% | 1.449584 | 1.852350 | 1.881064 | 1.917321 | 0.325375 | 0.655081 | 0.656098 | 0.700591 | 1.354216 | 1.346443 | 1.336762 | 1.389725 |
| 50% | 2.920744 | 3.069998 | 3.110387 | 3.165389 | 1.821452 | 1.769053 | 1.586570 | 1.651227 | 2.083279 | 2.147551 | 2.184258 | 2.200536 |
| 75% | 4.003028 | 4.287113 | 4.503136 | 4.566823 | 2.765623 | 2.633653 | 2.546075 | 2.561870 | 3.410597 | 3.651191 | 3.736920 | 3.937449 |
| max | 5.426153 | 5.436203 | 5.455493 | 5.461596 | 6.084582 | 6.018045 | 5.972706 | 5.965306 | 5.574989 | 5.593240 | 5.603651 | 5.625288 |
spectra.applymap(lambda x: x.Noise(300)).T.describe().drop(['count', 'std'], axis=0).style.background_gradient(cmap ='YlOrRd',axis=None)
| Configuration | 888 | 887 | 88c | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Window | 100 | 150 | 200 | 250 | 100 | 150 | 200 | 250 | 100 | 150 | 200 | 250 |
| mean | 81.683167 | 73.282833 | 67.859833 | 64.508500 | 80.962833 | 71.987167 | 66.279500 | 62.832000 | 77.353500 | 68.780667 | 63.268500 | 59.800333 |
| min | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
| 25% | 53.284167 | 49.380000 | 47.319167 | 46.515833 | 54.305833 | 50.645000 | 47.484167 | 45.865000 | 52.565000 | 48.716667 | 45.085000 | 42.961667 |
| 50% | 64.158333 | 63.945000 | 63.820000 | 63.720000 | 65.010000 | 64.695000 | 64.351667 | 64.263333 | 62.180000 | 61.200000 | 60.020000 | 59.376667 |
| 75% | 111.253333 | 96.070000 | 91.945000 | 84.095000 | 103.073333 | 94.559167 | 87.672500 | 84.927500 | 98.923333 | 89.616667 | 82.640833 | 78.991667 |
| max | 192.766667 | 159.060000 | 136.826667 | 122.360000 | 208.850000 | 172.166667 | 147.503333 | 132.200000 | 197.046667 | 161.766667 | 138.343333 | 122.543333 |
spectra.applymap(lambda x: x.Noise(300)).style.background_gradient(cmap ='YlOrRd',axis=None)
| iTED | A | B | C | D | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Crystal | 0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 | |
| Configuration | Window | ||||||||||||||||||||
| 888 | 100 | 90.290000 | 77.086667 | 52.390000 | 61.160000 | 0.000000 | 125.910000 | 0.000000 | 48.126667 | 52.656667 | 53.493333 | 192.766667 | 175.253333 | 66.003333 | 134.053333 | 115.713333 | 109.766667 | 95.040000 | 62.313333 | 61.446667 | 60.193333 |
| 150 | 84.043333 | 71.373333 | 49.110000 | 60.306667 | 0.000000 | 110.973333 | 0.000000 | 42.986667 | 45.953333 | 49.470000 | 159.060000 | 147.933333 | 65.980000 | 109.503333 | 90.426667 | 106.370000 | 92.636667 | 61.910000 | 59.560000 | 58.060000 | |
| 200 | 79.276667 | 68.743333 | 47.593333 | 59.790000 | 0.000000 | 100.940000 | 0.000000 | 40.233333 | 41.723333 | 46.496667 | 136.826667 | 128.186667 | 65.963333 | 93.680000 | 75.560000 | 103.483333 | 91.366667 | 61.676667 | 58.580000 | 57.076667 | |
| 250 | 77.573333 | 67.570000 | 46.876667 | 59.330000 | 0.000000 | 95.043333 | 0.000000 | 38.550000 | 39.630000 | 45.433333 | 122.360000 | 114.976667 | 65.933333 | 81.836667 | 66.383333 | 101.693333 | 90.870000 | 61.506667 | 57.973333 | 56.630000 | |
| 887 | 100 | 100.476667 | 73.836667 | 44.673333 | 64.903333 | 0.000000 | 105.963333 | 0.000000 | 59.993333 | 44.493333 | 47.973333 | 208.850000 | 178.473333 | 65.116667 | 138.773333 | 118.506667 | 91.030000 | 102.110000 | 60.210000 | 56.416667 | 57.456667 |
| 150 | 96.436667 | 68.916667 | 41.740000 | 64.266667 | 0.000000 | 89.286667 | 0.000000 | 53.613333 | 34.890000 | 41.256667 | 172.166667 | 148.636667 | 65.123333 | 113.663333 | 93.933333 | 88.263333 | 98.593333 | 59.580000 | 54.323333 | 55.053333 | |
| 200 | 92.620000 | 66.403333 | 40.426667 | 63.606667 | 0.000000 | 78.896667 | 0.000000 | 49.836667 | 30.460000 | 37.726667 | 147.503333 | 128.506667 | 65.096667 | 97.070000 | 78.600000 | 86.023333 | 96.850000 | 59.163333 | 53.166667 | 53.633333 | |
| 250 | 90.830000 | 65.233333 | 39.680000 | 63.413333 | 0.000000 | 72.660000 | 0.000000 | 47.926667 | 28.590000 | 36.290000 | 132.200000 | 114.823333 | 65.113333 | 86.100000 | 68.856667 | 84.536667 | 95.800000 | 58.913333 | 52.660000 | 53.013333 | |
| 88c | 100 | 90.193333 | 65.680000 | 40.256667 | 59.766667 | 0.000000 | 105.183333 | 0.000000 | 58.153333 | 42.673333 | 44.520000 | 197.046667 | 171.106667 | 63.323333 | 132.530000 | 113.256667 | 91.996667 | 96.836667 | 61.036667 | 55.246667 | 58.263333 |
| 150 | 85.250000 | 61.870000 | 37.690000 | 58.780000 | 0.000000 | 89.343333 | 0.000000 | 51.850000 | 34.940000 | 39.316667 | 161.766667 | 141.106667 | 63.286667 | 107.360000 | 90.006667 | 89.486667 | 93.453333 | 60.530000 | 53.203333 | 56.373333 | |
| 200 | 81.253333 | 59.863333 | 36.003333 | 58.193333 | 0.000000 | 78.560000 | 0.000000 | 47.910000 | 30.860000 | 36.610000 | 138.343333 | 121.696667 | 63.290000 | 91.240000 | 74.946667 | 86.803333 | 92.160000 | 60.176667 | 52.233333 | 55.226667 | |
| 250 | 78.733333 | 58.723333 | 35.386667 | 57.933333 | 0.000000 | 72.163333 | 0.000000 | 45.486667 | 29.060000 | 35.296667 | 122.543333 | 109.300000 | 63.276667 | 79.766667 | 65.703333 | 85.263333 | 90.980000 | 60.030000 | 51.596667 | 54.763333 | |
spectra.applymap(lambda x: x.Alpha(300)).T.describe().drop(['count', 'std'], axis=0).style.background_gradient(cmap ='YlOrRd',axis=None)
| Configuration | 888 | 887 | 88c | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Window | 100 | 150 | 200 | 250 | 100 | 150 | 200 | 250 | 100 | 150 | 200 | 250 |
| mean | 151.097667 | 150.797667 | 150.653667 | 150.514000 | 154.837500 | 154.582500 | 154.394500 | 154.275000 | 152.493167 | 152.222833 | 151.983333 | 151.891667 |
| min | 23.603333 | 23.700000 | 23.723333 | 23.760000 | 23.936667 | 23.973333 | 24.003333 | 24.016667 | 24.230000 | 24.270000 | 24.380000 | 24.436667 |
| 25% | 95.206667 | 95.145833 | 95.174167 | 95.186667 | 102.195000 | 102.238333 | 102.378333 | 102.337500 | 94.688333 | 94.653333 | 94.688333 | 94.721667 |
| 50% | 176.700000 | 176.380000 | 176.303333 | 175.900000 | 181.468333 | 181.301667 | 181.325000 | 181.373333 | 175.650000 | 175.340000 | 175.136667 | 175.093333 |
| 75% | 216.720833 | 216.290833 | 216.127500 | 216.008333 | 221.419167 | 220.749167 | 220.326667 | 220.070000 | 221.795000 | 221.416667 | 220.708333 | 220.585000 |
| max | 238.063333 | 238.066667 | 238.070000 | 238.070000 | 238.666667 | 238.663333 | 238.666667 | 238.666667 | 240.580000 | 240.583333 | 240.583333 | 240.583333 |
spectra.applymap(lambda x: x.Alpha(300)).style.background_gradient(cmap ='YlOrRd',axis=None)
| iTED | A | B | C | D | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Crystal | 0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 | |
| Configuration | Window | ||||||||||||||||||||
| 888 | 100 | 24.860000 | 148.353333 | 114.170000 | 36.073333 | 31.263333 | 144.330000 | 121.743333 | 209.013333 | 203.166667 | 216.080000 | 150.233333 | 230.230000 | 238.063333 | 218.643333 | 228.553333 | 23.603333 | 222.950000 | 38.316667 | 206.363333 | 215.943333 |
| 150 | 24.983333 | 148.320000 | 114.080000 | 36.083333 | 31.283333 | 143.596667 | 120.430000 | 208.673333 | 202.793333 | 215.690000 | 149.966667 | 229.516667 | 238.066667 | 217.843333 | 227.483333 | 23.700000 | 222.893333 | 38.343333 | 206.433333 | 215.773333 | |
| 200 | 25.220000 | 148.370000 | 114.116667 | 36.090000 | 31.333333 | 143.350000 | 119.413333 | 208.500000 | 202.830000 | 215.753333 | 149.776667 | 229.026667 | 238.070000 | 216.970000 | 227.050000 | 23.723333 | 222.910000 | 38.346667 | 206.376667 | 215.846667 | |
| 250 | 25.290000 | 148.366667 | 114.143333 | 36.110000 | 31.343333 | 143.176667 | 118.800000 | 208.363333 | 202.626667 | 215.776667 | 149.173333 | 228.880000 | 238.070000 | 216.573333 | 226.470000 | 23.760000 | 222.850000 | 38.316667 | 206.370000 | 215.820000 | |
| 887 | 100 | 24.356667 | 153.090000 | 122.986667 | 36.220000 | 30.953333 | 152.093333 | 134.123333 | 212.510000 | 209.846667 | 222.486667 | 152.493333 | 232.793333 | 238.666667 | 221.063333 | 231.833333 | 23.936667 | 225.200000 | 39.820000 | 213.570000 | 218.706667 |
| 150 | 24.453333 | 153.113333 | 123.040000 | 36.230000 | 31.023333 | 152.030000 | 131.930000 | 212.270000 | 209.490000 | 222.096667 | 152.710000 | 232.123333 | 238.663333 | 220.300000 | 231.030000 | 23.973333 | 225.110000 | 39.833333 | 213.546667 | 218.683333 | |
| 200 | 24.610000 | 153.103333 | 123.233333 | 36.260000 | 31.046667 | 151.953333 | 130.370000 | 212.096667 | 209.546667 | 222.146667 | 152.266667 | 231.810000 | 238.666667 | 219.720000 | 230.076667 | 24.003333 | 224.970000 | 39.813333 | 213.556667 | 218.640000 | |
| 250 | 24.713333 | 153.210000 | 123.183333 | 36.233333 | 31.053333 | 151.973333 | 129.570000 | 211.876667 | 209.536667 | 222.030000 | 151.726667 | 231.156667 | 238.666667 | 219.416667 | 230.063333 | 24.016667 | 224.990000 | 39.800000 | 213.550000 | 218.733333 | |
| 88c | 100 | 24.230000 | 144.443333 | 113.343333 | 34.836667 | 31.183333 | 147.626667 | 123.030000 | 206.073333 | 200.206667 | 218.760000 | 151.093333 | 232.263333 | 240.580000 | 220.146667 | 228.853333 | 24.933333 | 227.563333 | 38.723333 | 215.233333 | 226.740000 |
| 150 | 24.270000 | 144.353333 | 113.293333 | 34.786667 | 31.203333 | 147.060000 | 121.280000 | 205.773333 | 199.803333 | 218.590000 | 150.876667 | 231.760000 | 240.583333 | 219.680000 | 227.953333 | 25.010000 | 227.630000 | 38.733333 | 215.190000 | 226.626667 | |
| 200 | 24.380000 | 144.273333 | 113.340000 | 34.780000 | 31.230000 | 146.900000 | 119.803333 | 205.500000 | 199.890000 | 218.460000 | 150.383333 | 231.193333 | 240.583333 | 218.746667 | 227.136667 | 25.050000 | 227.530000 | 38.733333 | 215.160000 | 226.593333 | |
| 250 | 24.436667 | 144.393333 | 113.380000 | 34.766667 | 31.270000 | 146.443333 | 118.963333 | 205.386667 | 199.816667 | 218.576667 | 150.370000 | 230.890000 | 240.583333 | 218.523333 | 226.910000 | 25.093333 | 227.546667 | 38.746667 | 215.126667 | 226.610000 | |
canvas = spectra.applymap(TH1D_draw)
#canvas.applymap(lambda x: type(x).__name__)
for col in canvas.columns:
for row in canvas.index:
canvas.loc[row,col].Draw()